工控網(wǎng)首頁(yè)
>

應(yīng)用設(shè)計(jì)

>

用Excel實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)及其在數(shù)字識(shí)別中的應(yīng)用

用Excel實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)及其在數(shù)字識(shí)別中的應(yīng)用

2006/5/17 9:40:00
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);Excel;數(shù)字識(shí)別 中圖分類號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:A Implementation for BP Neural network with Excel and Application to Digit Recognition HU Gui-ming, ZHAO Hui-min, XU Wei-chao (College of Electrical Engineering, Guangxi University, Nanning 530004, China) Abstract: In this paper, A BP neural network is introduced which is realized in worksheets and Visual Basic Editor of Macro under the circumstance of Microsoft Excel and then use it to recognize the print digit. It is straight and convenient that interface of Excel is used to put in or get out the data and this method has many virtues sound code cant compare with. This procedure can also be used to recognize English letter. Key words: BP neural network; Excel; digit recognition 1 引言 人工神經(jīng)網(wǎng)絡(luò)(ANN)是當(dāng)今智能控制領(lǐng)域最活躍的分支之一,它所具有的并行計(jì)算能力、容錯(cuò)能力、泛化能力,以及以任意精度逼近未知非線性對(duì)象的特點(diǎn),為解決未知非線性對(duì)象的控制問(wèn)題,提供了一種有效的方法。人們先后提出了幾十種 ANN模型,其中基于BP(Back Propagation)算法的前饋神經(jīng)網(wǎng)絡(luò),是ANN中比較成熟的一種,并得到了廣泛的應(yīng)用。本文在回顧BP算法的基礎(chǔ)上,以數(shù)字識(shí)別為實(shí)例用Excel的工作表和宏中Visual Basic編輯器的實(shí)現(xiàn)該算法。 2 BP網(wǎng)絡(luò)的模型和學(xué)習(xí)算法 BP算法的基本思想是,學(xué)習(xí)過(guò)程由信號(hào)的正向傳播和誤差的反向傳播兩個(gè)過(guò)程組成。在正向傳播過(guò)程中,輸入信息從輸入層經(jīng)隱含層逐層計(jì)算傳向輸出層,每一層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。如果在輸出層沒(méi)有得到期望的輸出,則計(jì)算輸出層的誤差變化值,然后轉(zhuǎn)向反向傳播,通過(guò)網(wǎng)絡(luò)將誤差信號(hào)沿原來(lái)的連接通路反傳回來(lái)修改各層神經(jīng)元的權(quán)值直至達(dá)到期望目標(biāo)。 本文采用圖1所示的單隱層網(wǎng)絡(luò)。單隱層網(wǎng)絡(luò)的應(yīng)用最為普遍。習(xí)慣將單隱層前饋網(wǎng)稱為三層前饋網(wǎng)或三層感知器,三層包括了輸入層、隱層和輸出層。
以上各式共同構(gòu)成了BP網(wǎng)絡(luò)的數(shù)學(xué)模型。 BP算法的推導(dǎo)在這不再贅述,以下是單隱層 BP網(wǎng)絡(luò)各層權(quán)值調(diào)整計(jì)算公式:
3 BP神經(jīng)網(wǎng)絡(luò)的程序?qū)崿F(xiàn) 2.1 樣本的準(zhǔn)備 本算法以數(shù)字識(shí)別為實(shí)例,訓(xùn)練樣本和測(cè)試樣本采用不同的印刷體數(shù)字。在樣本的準(zhǔn)備中,要將實(shí)際問(wèn)題投向轉(zhuǎn)化為神經(jīng)網(wǎng)絡(luò)可以接受的數(shù)據(jù)輸入,經(jīng)神經(jīng)網(wǎng)絡(luò)計(jì)算后,再把網(wǎng)絡(luò)的輸出轉(zhuǎn)化為實(shí)際問(wèn)題的解,這涉及到特征的提取。在本文中將數(shù)字的橫向和縱向分成32份,得到一個(gè)32×32的網(wǎng)格。在數(shù)字的筆劃覆蓋單元格一半面積以上的單元格賦值1,否則賦值0,從而得到一個(gè)32×32的矩陣(如圖2所示)。作為神經(jīng)網(wǎng)絡(luò)的輸人數(shù)據(jù),要將這個(gè)矩陣轉(zhuǎn)化為一個(gè)1024×1的數(shù)組,特征提取這部分的過(guò)程可以在宏功能中編程實(shí)現(xiàn)。則每套印刷體樣本(包括0,1,…,9十個(gè)數(shù)字)的特性可用一個(gè)1024×10的數(shù)組表示。這個(gè)網(wǎng)格在Excel的工作表中制作,1024×10的數(shù)組也存儲(chǔ)在工作表中。
輸出數(shù)值的范圍為阿拉伯?dāng)?shù)字0到9,其節(jié)點(diǎn)個(gè)數(shù)的選擇可有多種方案。這里作者采用二進(jìn)制數(shù)表示這十個(gè)數(shù)字,也就是說(shuō)輸出層節(jié)點(diǎn)個(gè)數(shù)最少可以為4個(gè)。 隱節(jié)點(diǎn)的確定采用試湊法,在樣本訓(xùn)練前設(shè)置隱節(jié)點(diǎn)的個(gè)數(shù),先設(shè)置較少的隱節(jié)點(diǎn)訓(xùn)練網(wǎng)絡(luò),然后再逐漸增加隱節(jié)點(diǎn)個(gè)數(shù),用同樣的樣本進(jìn)行訓(xùn)練,從中確定網(wǎng)絡(luò)誤差最小時(shí)對(duì)應(yīng)的隱節(jié)點(diǎn)個(gè)數(shù)。 2.2 BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練 樣本儲(chǔ)存在Excel的工作表中,BP算法用宏中的Visual Basic編輯器實(shí)現(xiàn),這樣數(shù)據(jù)的讀取和輸出非常方便。圖3是標(biāo)準(zhǔn)BP算法的程序流程圖。 (1)初始化。對(duì)權(quán)值矩陣W、Y賦隨機(jī)數(shù),將樣本模式計(jì)數(shù)器p和訓(xùn)練次數(shù)計(jì)數(shù)器q置為1,誤差 E置0,信息效率設(shè)為0~1間的小數(shù),網(wǎng)絡(luò)訓(xùn)練后
2.3 BP神經(jīng)網(wǎng)絡(luò)的測(cè)試 用一些新的樣本作為測(cè)試樣本,對(duì)已訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行測(cè)試,測(cè)試結(jié)果的界面如圖4所示。測(cè)試結(jié)果計(jì)算出了每個(gè)樣本組的識(shí)別率以及平均識(shí)別率,并顯示了該網(wǎng)絡(luò)的總均方誤差。我們可以在測(cè)試結(jié)果中通過(guò)比較平均識(shí)別率來(lái)確定網(wǎng)絡(luò)的最佳總均方誤差。 3 結(jié)束語(yǔ) 本文簡(jiǎn)單的介紹了反向傳播BP算法的基本概念,在Excel的工作表中實(shí)現(xiàn)樣本的采樣以及樣本的存儲(chǔ)以及結(jié)果的輸出,算法的編程采用宏中的 Visual Basic編輯器。Excel的工作表非常龐大,可以儲(chǔ)存大量的樣本,并且可以根據(jù)需要修改樣本庫(kù)。Visual Basic編輯器中的語(yǔ)言能夠存取Excel的所有命令和對(duì)象,且兼容了Basic編程語(yǔ)言的命令和語(yǔ)法,可以控制Excel的所有功能。利用Excel的界面輸入輸出數(shù)據(jù),即直觀又方便,有著源程序不可比擬的優(yōu)點(diǎn)。該程序也可用于英語(yǔ)字母的識(shí)別。 參考文獻(xiàn) [1] 韓力群.人工神經(jīng)網(wǎng)絡(luò)理論、設(shè)計(jì)及應(yīng)用[M].化學(xué)工業(yè)出版社。2002.1 [2] 布寧.Excel Visual Basic for Application用戶使用指南[M].顧鐵成,等譯.北京:科學(xué)出版社,1996.10. [3] 賀興時(shí),劉宇.BP神經(jīng)網(wǎng)絡(luò)算法在數(shù)字識(shí)別中的應(yīng)用[J].西北紡織工學(xué)院學(xué)報(bào),2000,14(4),356~362. [4] 雷建和.反向傳播(BP)算法極其在VB5中的實(shí)現(xiàn)[J].青島建筑工程學(xué)院學(xué)報(bào),1999,20(4),79~84.
投訴建議

提交

查看更多評(píng)論
其他資訊

查看更多

超越傳統(tǒng)直覺(jué),MATLAB/Simulink助力重型機(jī)械的智能化轉(zhuǎn)型

新大陸自動(dòng)識(shí)別精彩亮相2024華南國(guó)際工業(yè)博覽會(huì)

派拓網(wǎng)絡(luò)被Forrester評(píng)為XDR領(lǐng)域領(lǐng)導(dǎo)者

智能工控,存儲(chǔ)強(qiáng)基 | ??低晭?lái)精彩主題演講

展會(huì)|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會(huì)